﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using DAL.Entity;
using DAL.Persistencia;

namespace NewTierra.Pages
{
    public partial class InfoSupplier : System.Web.UI.Page
    {
        public string fotoMapaGoogle;
        public string siteInfos;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //Session["Sid"] = "60299";
                BuscaInfos();
                CarregarListFotos(sender, e);
            }
        }

        #region Preenche Informações
        
        protected void BuscaInfos()
        {
            SupplierDAL d = new SupplierDAL();
            NewTierraEntities con = new NewTierraEntities();

            try
            {
                Supplier s = d.ObterPorId(Convert.ToInt32(Session["Sid"]));

                lblNomeSupplier.Text = s.S_nome;
                lblEndereco.Text     = s.S_endereco;


                if (s.S_http.StartsWith("http://"))
                {
                    lnkSite.Text = s.S_http;                    
                }
                else
                {
                    lnkSite.Text = "http://" + s.S_http;                    
                }

                

                //var cidade      = con.Cidades.Where(c => c.CID_id.Equals(s.CID_id)).Single();
                //var pais        = con.Pais.Where(p => p.PAIS_id.Equals(s.PAIS_id)).Single();
                //var fotoCateg   = con.S_Categoria.Where(ca => ca.Categ_id == s.Categ_id).Single();

                if (con.S_Descricao.Any(o => o.S_id == s.S_id))
                {
                    var desc = con.S_Descricao.Where(ds => ds.S_id.Equals(s.S_id)).Single();
                    lblInfoLong.Text = desc.Desc_long;
                    lblInfoShort.Text = desc.Desc_short;
                }
                else
                {
                    lblInfoLong.Text = "Sem Descrição";
                    lblInfoShort.Text = "Sem Descrição";
                }


                if (con.S_Image.Any(o => o.S_id == s.S_id))
                {
                    var foto = con.S_Image.Where(f => f.S_id.Equals(s.S_id) && f.Image_capa.Equals("S")).Single();

                    FotoPrincipal.ImageUrl = "../../Galeria/" + Session["Sid"] + "/" + foto.Image_nome;
                    fotoMapaGoogle = "../../Galeria/" + Session["Sid"] + "/" + foto.Image_nome;
                }
                else
                {
                    FotoPrincipal.ImageUrl = "~/images/semimagem.gif";
                    fotoMapaGoogle = "../../images/semimagem.gif";
                }

                lblCidade.Text          = s.Cidade.CID_nome;
                lblPais.Text            = s.Pai.PAIS_nome;


                if (s.Categ_id != null)
                {                    
                    ImgCateg.ImageUrl = "~/ImgCategorias/" + s.S_Categoria.Categ_imgnome;                                 
                }
                else
                {
                    ImgCateg.ImageUrl = "~/ImgCategorias/semcategoria.gif";
                }
                
            }
            catch (Exception ex)
            {
                lblMsgInfoSupplier.Text = ex.Message;
            }
        }

        #endregion

        #region Popula Fotos

        //Método para carregar o GridView com a listagem de fotos do banco
        protected void CarregarListFotos(object sender, EventArgs e)
        {
            CarregarFotos(sender, e);
        }

        protected void CarregarFotos(object sender, EventArgs e)
        {
            try
            {
                FotoDAL f = new FotoDAL();

                DataListFotosInfo.DataSource = f.ListarTodos(Convert.ToInt32(Session["Sid"]));
                DataListFotosInfo.DataBind(); //Desenhar
            }
            catch (Exception ex)
            {
                lblMsgFotoSupplier.Text = ex.Message;
            }
        }

        #endregion

    }
}